package com.st.springbootswagger.domain;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import javax.validation.constraints.NotNull;

import java.io.Serializable;

import java.util.Date;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

/**
* 用户信息表
* @TableName sys_user
*/@Data
@ApiModel
public class SysUser  {

    /**
    * 用户ID
    */
    @NotNull(message="[用户ID]不能为空")
    @ApiModelProperty("用户ID")
    private Long userId;
    /**
    * 部门ID
    */
    @ApiModelProperty("部门ID")
    private Long deptId;
    /**
    * 用户账号
    */
    @NotBlank(message="[用户账号]不能为空")
    @Size(max= 30,message="编码长度不能超过30")
    @ApiModelProperty("用户账号")
    @Length(max= 30,message="编码长度不能超过30")
    private String userName;
    /**
    * 用户昵称
    */
    @NotBlank(message="[用户昵称]不能为空")
    @Size(max= 30,message="编码长度不能超过30")
    @ApiModelProperty("用户昵称")
    @Length(max= 30,message="编码长度不能超过30")
    private String nickName;
    /**
    * 用户类型（sys_user系统用户）
    */
    @Size(max= 10,message="编码长度不能超过10")
    @ApiModelProperty("用户类型（sys_user系统用户）")
    @Length(max= 10,message="编码长度不能超过10")
    private String userType;
    /**
    * 用户邮箱
    */
    @Size(max= 50,message="编码长度不能超过50")
    @ApiModelProperty("用户邮箱")
    @Length(max= 50,message="编码长度不能超过50")
    private String email;
    /**
    * 手机号码
    */
    @Size(max= 11,message="编码长度不能超过11")
    @ApiModelProperty("手机号码")
    @Length(max= 11,message="编码长度不能超过11")
    private String phonenumber;
    /**
    * 用户性别（0男 1女 2未知）
    */
    @ApiModelProperty("用户性别（0男 1女 2未知）")
    private String sex;
    /**
    * 头像地址
    */
    @Size(max= 100,message="编码长度不能超过100")
    @ApiModelProperty("头像地址")
    @Length(max= 100,message="编码长度不能超过100")
    private String avatar;
    /**
    * 密码
    */
    @Size(max= 100,message="编码长度不能超过100")
    @ApiModelProperty("密码")
    @Length(max= 100,message="编码长度不能超过100")
    private String password;
    /**
    * 帐号状态（0正常 1停用）
    */
    @ApiModelProperty("帐号状态（0正常 1停用）")
    private String status;
    /**
    * 删除标志（0代表存在 2代表删除）
    */
    @ApiModelProperty("删除标志（0代表存在 2代表删除）")
    private String delFlag;
    /**
    * 最后登录IP
    */
    @Size(max= 128,message="编码长度不能超过128")
    @ApiModelProperty("最后登录IP")
    @Length(max= 128,message="编码长度不能超过128")
    private String loginIp;
    /**
    * 最后登录时间
    */
    @ApiModelProperty("最后登录时间")
    private Date loginDate;
    /**
    * 创建者
    */
    @Size(max= 64,message="编码长度不能超过64")
    @ApiModelProperty("创建者")
    @Length(max= 64,message="编码长度不能超过64")
    private String createBy;
    /**
    * 创建时间
    */
    @ApiModelProperty("创建时间")
    private Date createTime;
    /**
    * 更新者
    */
    @Size(max= 64,message="编码长度不能超过64")
    @ApiModelProperty("更新者")
    @Length(max= 64,message="编码长度不能超过64")
    private String updateBy;
    /**
    * 更新时间
    */
    @ApiModelProperty("更新时间")
    private Date updateTime;
    /**
    * 备注
    */
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("备注")
    @Length(max= 500,message="编码长度不能超过500")
    private String remark;

    /**
    * 用户ID
    */
    private void setUserId(Long userId){
    this.userId = userId;
    }

    /**
    * 部门ID
    */
    private void setDeptId(Long deptId){
    this.deptId = deptId;
    }

    /**
    * 用户账号
    */
    private void setUserName(String userName){
    this.userName = userName;
    }

    /**
    * 用户昵称
    */
    private void setNickName(String nickName){
    this.nickName = nickName;
    }

    /**
    * 用户类型（sys_user系统用户）
    */
    private void setUserType(String userType){
    this.userType = userType;
    }

    /**
    * 用户邮箱
    */
    private void setEmail(String email){
    this.email = email;
    }

    /**
    * 手机号码
    */
    private void setPhonenumber(String phonenumber){
    this.phonenumber = phonenumber;
    }

    /**
    * 用户性别（0男 1女 2未知）
    */
    private void setSex(String sex){
    this.sex = sex;
    }

    /**
    * 头像地址
    */
    private void setAvatar(String avatar){
    this.avatar = avatar;
    }

    /**
    * 密码
    */
    private void setPassword(String password){
    this.password = password;
    }

    /**
    * 帐号状态（0正常 1停用）
    */
    private void setStatus(String status){
    this.status = status;
    }

    /**
    * 删除标志（0代表存在 2代表删除）
    */
    private void setDelFlag(String delFlag){
    this.delFlag = delFlag;
    }

    /**
    * 最后登录IP
    */
    private void setLoginIp(String loginIp){
    this.loginIp = loginIp;
    }

    /**
    * 最后登录时间
    */
    private void setLoginDate(Date loginDate){
    this.loginDate = loginDate;
    }

    /**
    * 创建者
    */
    private void setCreateBy(String createBy){
    this.createBy = createBy;
    }

    /**
    * 创建时间
    */
    private void setCreateTime(Date createTime){
    this.createTime = createTime;
    }

    /**
    * 更新者
    */
    private void setUpdateBy(String updateBy){
    this.updateBy = updateBy;
    }

    /**
    * 更新时间
    */
    private void setUpdateTime(Date updateTime){
    this.updateTime = updateTime;
    }

    /**
    * 备注
    */
    private void setRemark(String remark){
    this.remark = remark;
    }


    /**
    * 用户ID
    */
    private Long getUserId(){
    return this.userId;
    }

    /**
    * 部门ID
    */
    private Long getDeptId(){
    return this.deptId;
    }

    /**
    * 用户账号
    */
    private String getUserName(){
    return this.userName;
    }

    /**
    * 用户昵称
    */
    private String getNickName(){
    return this.nickName;
    }

    /**
    * 用户类型（sys_user系统用户）
    */
    private String getUserType(){
    return this.userType;
    }

    /**
    * 用户邮箱
    */
    private String getEmail(){
    return this.email;
    }

    /**
    * 手机号码
    */
    private String getPhonenumber(){
    return this.phonenumber;
    }

    /**
    * 用户性别（0男 1女 2未知）
    */
    private String getSex(){
    return this.sex;
    }

    /**
    * 头像地址
    */
    private String getAvatar(){
    return this.avatar;
    }

    /**
    * 密码
    */
    private String getPassword(){
    return this.password;
    }

    /**
    * 帐号状态（0正常 1停用）
    */
    private String getStatus(){
    return this.status;
    }

    /**
    * 删除标志（0代表存在 2代表删除）
    */
    private String getDelFlag(){
    return this.delFlag;
    }

    /**
    * 最后登录IP
    */
    private String getLoginIp(){
    return this.loginIp;
    }

    /**
    * 最后登录时间
    */
    private Date getLoginDate(){
    return this.loginDate;
    }

    /**
    * 创建者
    */
    private String getCreateBy(){
    return this.createBy;
    }

    /**
    * 创建时间
    */
    private Date getCreateTime(){
    return this.createTime;
    }

    /**
    * 更新者
    */
    private String getUpdateBy(){
    return this.updateBy;
    }

    /**
    * 更新时间
    */
    private Date getUpdateTime(){
    return this.updateTime;
    }

    /**
    * 备注
    */
    private String getRemark(){
    return this.remark;
    }

}
